CakePHPでデータをサニタイズする
CakePHPの「Sanitize」クラスは、ユーザから送られた悪意のあるデータや、その他の不適切なデータを無毒化します。
通常のCakePHPでデータを保存する、Saveなどを利用する場合はいちいちサニタイズする必要はありませんが、独自でSQL文を書くときなどは、これを利用してサニタイズしたほうがよいでしょう。
ここでは、具体的にデータをSanitize::cleanを使ってサニタイズする方法を書いておきます。
http://book.cakephp.org/ja/view/1187/clean
Studentモデル student.php ファイルに次のように記載
//サニタイズクラスインポート App::import('Sanitize'); class Student extends AppModel { var $name = 'Student'; …以下モデルのコードが続く
Studentコントローラー students_controller.phpに次のように記載
//受け取ったデータをサニタイズする例 function add() { Sanitize::clean($this->data['Student']);
- $this->data[‘Student’] = Sanitize::clean($this->data[‘Student’]);か、$this->Student->save(Sanitize::clean($this->data)); — ゆうちゃ {2011-10-31 (月) 10:50:34}